Multi-rate, muti-port, gigabit serdes transceiver

ABSTRACT

A multi-port SERDES transceiver includes multiple parallel ports and serial ports, and includes the flexibility to connect any one of the parallel ports to another parallel port or to a serial port, or both. Furthermore, the multi-port transceiver chip can connect any one of serial ports to another serial port or to one of the parallel ports. The substrate layout of the multi-port SERDES transceiver chip is configured so that the parallel ports and the serial ports are on the outer perimeter of the substrate. A logic core is at the center of the substrate, where the logic core operates the serial and parallel data ports, and the bus that connects the data ports. The bus can be described as a “ring” structure (or donut “structure”) around the logic core, and is configured between the logic core and the data ports. The ring structure of the bus provides efficient communication between the logic core and the various data ports.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/389,506, filed Mar. 27, 2006, which is a continuation of U.S. patentapplication Ser. No. 10/694,788, filed Oct. 29, 2003, now U.S. Pat. No.7,035,228, which claims the benefit of U.S. Provisional Application No.60/421,780, filed on Oct. 29, 2002, all of which are incorporated hereinby reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to serial de-serializerintegrated circuits with multiple high speed data ports, and moreparticularly to a serial and de-serializer chip that includes thefunctionality to switch between multiple high speed data ports.

2. Related Art

High speed data links transmit data from one location to another overtransmission lines. These data links can include serial deserializerdata links (i.e. SERDES) that receive data in a parallel format andconvert the data to a serial format for high speed transmission. SERDESdata links can be part of a backplane in a communications system (e.g.Tyco Backplane 30-inch trace).

In a high speed back plane configuration, it is often desirable toswitch between multiple SERDES links. In other words, it is oftendesirable to switch between any one of multiple SERDES links to anotherSERDES link, and to do so in a low power configuration on a singleintegrated circuit.

BRIEF SUMMARY OF THE INVENTION

A multi-port SERDES transceiver includes multiple parallel ports andserial ports, and includes the flexibility to connect any one of theparallel ports to another parallel port or to a serial port, or both.Furthermore, the multiport transceiver chip can connect any one of theserial ports to another serial port or to one of the parallel ports. Themulti-port SERDES transceiver is able to operate at multiple data rates.

The multi-port SERDES transceiver also includes a packet bit error ratetester (BERT). The packet BERT generates and processes packet test datathat can be transmitted over any of the serial ports to perform biterror testing.

The packet BERT can monitor (or “snoop”) between the serial ports. Inother words, if data is being transmitted from one serial port toanother serial port, the packet BERT can capture and store a portion ofthis data for bit error testing.

The substrate layout of the multi-port SERDES transceiver chip isconfigured so that the parallel ports and the serial ports are on theouter perimeter of the substrate. A logic core is at the center of thesubstrate, where the logic core operates the serial and parallel dataports, and a bus that connects the data ports. The bus can be describedas a “ring” structure (or donut “structure”) around the logic core, andis configured between the logic core and the data ports. The ringstructure of the bus provides efficient communication between the logiccore and the various data ports.

The SERDES transceiver described herein is highly flexible and can beconfigured to provide multiple different transceiver products fromenabling and disabling various serial and parallel data ports. This isaccomplished using a configuration logic circuit that enables/disablesthese data ports. As a result, several different transceiver products,with different capabilities and price points, can be configured from asingle semiconductor die.

Further features and advantages of the present invention, as well as thestructure and operation of various embodiments of the present invention,are described in detail below with reference to the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings illustrate the present invention and, togetherwith the description, further serve to explain the principles of theinvention and to enable one skilled in the pertinent art to make and usethe invention.

FIG. 1 illustrates a multi-port SERDES chip according to embodiments ofthe present invention.

FIG. 2 further illustrates the multi-port SERDES chip including aparallel-to-serial conversion according to embodiments of the presentinvention.

FIG. 3 further illustrates the operation of the transceiver 100 in therouting of serial data between ports according to embodiments of thepresent invention.

FIG. 4 illustrates a multi-port SERDES transceiver 400, which is oneembodiment of the transceiver 100.

FIG. 5 illustrates a substrate layout of the multi-port SERDEStransceiver chip according to embodiments of the present invention.

FIG. 6 illustrates a section of the bus 106 according to embodiments ofthe present invention.

FIG. 7 further illustrates the bus 106 having equal length transmissionlines according to embodiments of the present invention.

FIG. 8 illustrates a transceiver 800, which is one configuration of thetransceiver 400.

FIG. 9 illustrates a transceiver 900, which is another configuration ofthe transceiver 400.

FIG. 10 illustrates a transceiver 1000, which is another configurationof the transceiver 400.

FIG. 11 illustrates a transceiver 1100, which is another configurationof the transceiver 400.

FIG. 12 illustrates a transceiver 1200, which is another configurationof the transceiver 400.

FIG. 13 illustrates a communications system with a backplane interface.

FIG. 14 illustrates a transceiver 1400 with automatic polarity swapaccording to embodiments of the present invention.

FIG. 15 illustrates a flowchart that further describes automaticpolarity swap according to embodiments of the present invention.

The present invention will now be described with reference to theaccompanying drawings. In the drawings, like reference numbers generallyindicate identical, functionally similar, and/or structurally similarelements. The drawing in which an element first appears is indicated bythe leftmost digit(s) in the reference number.

DETAILED DESCRIPTION OF THE INVENTION

This specification discloses one or more embodiments that incorporatethe features of this invention. The embodiment(s) described, andreferences in the specification to “one embodiment”, “an embodiment”,“an example embodiment”, etc., indicate that the embodiment(s) describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Furthermore, when a particularfeature, structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Furthermore, it should be understood that spatial descriptions (e.g.,“above,” “below,” “up,” “left,” “right,” “down,” “top,”“bottom,”“vertical,⇄ “horizontal,” etc.) used herein are for purposes ofillustration only, and that practical implementations of the structuresdescribed herein can be spatially arranged in any orientation or manner.Likewise, particular bit values of “0” or “1” (and representativevoltage values) are used in illustrative examples provided herein torepresent information for purposes of illustration only. Informationdescribed herein can be represented by either bit value (and byalternative voltage values), and embodiments described herein can beconfigured to operate on either bit value (and any representativevoltage value), as would be understood by persons skilled in therelevant art(s).

The example embodiments described herein are provided for illustrativepurposes, and are not limiting. Further structural and operationalembodiments, including modifications/alterations, will become apparentto persons skilled in the relevant art(s) from the teachings herein.

FIG. 1 illustrates a multi-port transceiver 100 according to embodimentsof the present invention. Transceiver 100 includes a plurality of serialports 104 a-d, a plurality of parallel ports 102 a-b, and a bus 106.Each of the plurality of serial ports 104 is capable of transmitting andreceiving data in a serial format, and each of the parallel ports 102 iscapable of transmitting and receiving data in a parallel format. Forexample, the serial ports 104 could be transmitting and receiving serialdata with corresponding switches (e.g. MACs) 108 a-d.

The transceiver 100 also includes a bus 106 that is coupled to theserial ports 104 a-d and the parallel ports 102 a and 102 b. The bus 106enables any serial port 104 to be connected to any other serial port 104and to any parallel port 102 for data transmission, and vice versa.Therefore, data can be transmitted from any switch 108 to any otherswitch 108, or can be transmitted and received to and from the parallelports 102. For example, data received at the serial port 104 a fromswitch 108 a can be routed to the serial port 104 c by the bus 106, fortransmission to the switch 108 c. Additionally, data from the switch 108a can be routed to the other serial ports 104 b-d and to the parallelports 102 a and 102 b through the bus 106.

FIG. 2 illustrates that each serial port 104 can include aserial-to-parallel converter 202, so that serial data processed by theport 104 can be converted to parallel data, and vice versa. In otherwords, serial data received by serial ports 104 from correspondingswitches 108 can be converted to parallel data and routed on the bus106. The serial-to-parallel converters 202 are bi-directional, so thatparallel data from the bus 106 can be converted to serial data fortransmission from the serial port 104 to the corresponding switch 108.Furthermore, the parallel data from the bus 106 can also be converted toserial for transmission to the switch 108.

FIG. 2 also illustrates the bus 106 to have a “ring structure” thatenables the data to be sent from one adjacent port 104 to anotheradjacent port 104. For example, data from port 104 a is directlytransmitted to ports 104 b and 104 c over the ring structure of the bus106. Therefore, data from any one port 104 can be connected to anotherport 104 using the bus 106 by transmitting data around the ringstructure of the bus from one port 104 to another port 104. Furthermore,the bus 106 transmits data in a parallel format since it is connected tothe parallel side of the serial to parallel converters 202. The parallelformat of the bus 106 enables parallel data to be tapped out from thebus 106 at the parallel ports 102 a and 102 b. The ring structure of thebus 106 will be further described herein.

FIG. 3 illustrates a flowchart 300 that further describes the operationof the transceiver 100 in the routing of serial data between ports. Instep 302, serial data is received at a first serial port 104, from aswitch 108 for example. In step 304, the serial data is converted toparallel data. In step 306, the parallel data is routed from oneadjacent port 104 to another via the bus 106 until a destination port104 is reached. In step 308, the parallel data is converted back toserial. In step 310, the serial data is transmitted from the serialdestination port 104, to a destination switch 108 for example.

The ports of the transceiver 100 can be configured to operate over anumber of different data standards, as will be described further herein.For example, the serial ports 104 can transmit data to the switches 108according to an XAUI serial protocol. The XAUI serial data is convertedto XGMII parallel data for transmission over the parallel bus 106, andtherefore the XGMII parallel data can be tapped-out by the parallelports 102 a and 102 b.

FIG. 3 illustrates a flowchart 300 that further describes the operationof the transceiver 100 in the routing of data between serial ports. Instep 302, serial data is received at a first serial port 104, from aswitch 108 for example. In step 304, the serial data is converted toparallel data. In step 306, the parallel data is routed from oneadjacent port 104 to another port 104 via the bus 106 until adestination port 104 is reached. In step 308, the parallel data isconverted back to serial data. In step 310, the serial data istransmitted from the serial destination port 104, to a destinationswitch 108 for example. In an optional step (not shown), the paralleldata can be tapped, prior to being serialized, and transmitted forfurther processing at another destination.

Furthermore, the inverse operation can also be performed. Parallel datais received at a parallel port 102 and routed to the other parallel port102 or routed to a serial destination port 104. If routed to a serialdestination port, then the data is serialized prior to transmission.

FIG. 4 illustrates a multi-port SERDES transceiver 400, which is oneembodiment of the transceiver 100. The SERDES transceiver 400 includesmultiple parallel ports 102 and serial ports 104, and includes theflexibility to connect any one of the parallel ports 102 to anotherparallel port 102 or to a serial port 104, or both. Furthermore, themultiport transceiver chip 400 can connect any one of the serial ports104 to another serial port 104 or to one of the parallel ports 102.

More specifically, the SERDES transceiver chip 400 includes two paralleltransceiver ports 102 a,b, and four serial transceiver ports 104 a-d.However, the invention is not limited to the number of ports shown.Other configurations having a different number of ports could be used.The parallel transceiver ports 102 a,b transmit and receive data in aparallel format. The parallel transceiver ports 102 a,b can be XGMIIparallel ports, for example, where the XGMII transceiver protocol isknown to those skilled in the arts. Each XGMII port 102 can include 74data pins, for example, operating at 1/10 the data rate of the serialports 104. For example, the 74 pins can transmit 36 data signals andreceive 36 data signals, simultaneously, and 2 clock signals (1 transmitand 1 receive).

The four serial ports 104 a-d can be XAUI serial ports, and transmit andreceive data in a serial format. Each serial port 104 can be a quadserial port having four serial differential data lines using the XAUIprotocol that is known to those skilled in the arts. In embodiments ofthe invention, the serial ports 104 can operate at data rates of 3.125GHz, 2.5 GHz, and 1.25 GHz. In other words, the transceiver chip 100 isa multi-rate device. However, the XAUI data rates above are effectivelyquadrupled since there are four serial data lines in each serial port104. Therefore, the 2.5 GHz data rate is equalvalent to a 10 GHz datarate. As discussed above, the parallel data rates can operate at 1/10 ofthe data rates of the serial data.

The serial ports 104 can be further described as 10 Gigabit extensionsub-letter (XGXS). In other words, XGXS defines the parallel-to-serialconversion between the parallel XGMII protocol to serial XAUI protocol,according to the IEEE Std 802.3ae, the entire standard of which isincorporated herein by reference. The serial ports 104 receive serialXAUI data and convert it to parallel XGMII data according the XGXSprotocol. The parallel XGMII data is routed from adjacent port toadjacent port on the parallel bus 106.

As discussed above, the parallel ports 102 and the serial ports 104 arelinked together by the parallel bus 106. The parallel bus 106 enablesdata to travel between all the ports 102 and 104. More specifically thebus 106 enables data to travel from one parallel port 102 to anotherparallel port 102, and to travel from one parallel port 102 to a serialport 104. Multiplexers 402 connect the bus 106 to the parallel ports 102and to the serial ports 104. The serial port 104 performs a parallel toserial conversion when receiving parallel data that is to be sent outserial. Likewise the bus 106 enables data to travel from one serial port104 to another serial port 104, and to travel between a serial port 104and a parallel port 102. The parallel port 102 enables parallel data tobe tapped from the parallel bus 106 so that parallel data (e.g. XGMIIdata) can be transmitted from the transceiver 400. The multi-port SERDEStransceiver 400 is highly flexible in being able to connect multipleparallel ports 102 to multiple serial ports 104, and vice versa.

In embodiments, the SERDES transceiver chip 400 can be implemented on asingle CMOS substrate. For example, the SERDES transceiver chip 400 canbe implemented using a low power 0.13-micron CMOS process technology,which lends itself to higher levels of integration and application.

The transceiver 400 enables dual unit operation, where one parallel port102 is paired up with two of the serial ports 104 and the other parallelport 102 is paired up with the other two serial ports 104. For example,parallel port 102 a can be paired with serial ports 104 a and 104 b.Likewise, the parallel port 102 b can be paired with serial ports 104 cand 104 d. However, there is complete selectivity of the ports that aregrouped together for dual unit operation. For example, parallel port 102a can be paired with either serial ports 104 a and 104 b, or serialports 104 c and 104 d. In a backplane configuration, this providesflexibility to connect a parallel port to one or more serial ports, andwith redundancy.

The transceiver 400 also includes a packet bit error rate tester (BERT)406. The packet BERT 406 generates and processes packet test data thatcan be transmitted over any of the serial ports 104 to perform bit errortesting. Any type of packet data can be generated to perform the testingand at different data rates. For example, the packet BERT 406 cangenerate packet data that can be used to test the SERDES data link. Assuch, the packet BERT 406 provides a built-in self test for the SERDESdata link. The packet BERT 406 generates test data that is sent over oneor more of the serial ports 104 using the bus 106 to perform the biterror rate testing of the SERDES data link. For example, the packet BERT406 can generate test data for a data link formed by enabling the serialports 104 a and 104 b to connect the switch 108 a to the switch 108 c.Likewise, the packet BERT 406 can capture test data received over anyone of the serial ports 104 or parallel ports 102 using the bus 106 forcomparison with test data that was sent out. A bit error rate can thenbe determined based on this comparison.

In one embodiment, the packet BERT 406 is RAM-based so that the testdata is stored and compared in a RAM memory to perform the bit errorrate test. In another embodiment, the packet BERT 406 is logic based sothat the test data is generated by a logic function, and transmittedacross a SERDES link. Upon receipt back, the test data is re-generatedby the logic packet BERT 406, for comparison with the original test datathat was sent over the SERDES data link. A RAM packet BERT 406 is moreflexible than a logic packet BERT 406 because there is no limitation onthe data that can be stored in the RAM packet BERT 406. However, a logicpacket BERT 406 is more efficient in terms of substrate area because aRAM occupies more area than a logic circuit.

Since the packet BERT 406 shares the same bus 106 with the serial ports104, the packet BERT 406 can monitor (or “snoop”) between the serialports 104. In other words, if data is being transmitted from one serialport 104 to another serial port 104, the packet BERT 406 can capture andstore a portion of this data for bit error testing. In one embodiment,the packet BERT 406 “blindly” captures data being sent from one serialport 104 to another serial port 104. In another embodiment, the packetBERT 406 starts capturing data after a particular byte of data istransmitted. In another embodiment, the packet BERT 406 starts capturingdata after an error event occurs. The packet BERT 406 is furtherdescribed in U.S. patent application Ser. No. 10/681,244, filed on Oct.9, 2003, which is incorporated by reference herein in its entirety.

The SERDES transceiver chip 400 also includes the ability to includeother optional logic blocks 408 that are not necessary for the operationof the SERDES transceiver. In other words, the logic blocks 408 could becustomer driven logic blocks or some other type of logic block. Theseoptional logic blocks 408 can transmit and receive data over the serialports 104 or parallel ports 102 using the bus 106. The packet BERT 406and the optional blocks 408 connect to the bus 106 using themultiplexers 404.

The SERDES transceiver chip 400 also includes a management interface 412that enables the configuration of the portions (parallel ports 102,series port 104, packet BERT 406, and optional logic blocks 408) of thetransceiver chip 100. The management interface 412 includes two pads 414that enable two different management chips to program and control theportions of the transceiver chip 400 using MDIOs blocks 416. Forexample, one management chip connected to pad 414 a could control theparallel port 102 a and the serial ports 104 a and 104 b, and anothermanagement chip connected to pad 414 b could control the parallel port102 b and the serial ports 104 c and 104 d. The management interface 412is configured to be compatible with both IEEE Std. 802.3 clause 45 andthe IEEE Std. 802.3 clause 22 management standards. In other words, onemanagement pad 414 a and MDIO block 416 a can be programmed to beresponsive to clause 45 electricals and protocol, and the othermanagement pad 414 b and MDIO block 416 b could be responsive to clause22 electricals and protocol. Furthermore, the management pads 414 andMDIO blocks can mix and match clause 22 and clause 45 electrical andprotocols. For example, management pad 414 a and MDIO block 416 a can beresponsive to clause 22 electricals and clause 45 protocols, and viceversa. Similar mix and match can be done for the management pad 414 band the MDIO block 416 b. The management data pads are further describedin U.S. patent application Ser. No. 10/694,729, titled “Multipurpose andIntegrated Pad Ring for Integrated Circuit”, filed Oct. 29, 2003, andU.S. patent application Ser. No. 10/694,730, titled “ProgrammableManagement I/O Pads for an Integrated Circuit”, filed Oct. 29, 2003,both of which are incorporated by reference herein in its entirety. FIG.5 illustrates the substrate layout 500 for the SERDES transceiver 400according to embodiments of the invention. The substrate layout 500 isconfigured to minimize the substrate area of the transceiver 400, andefficiently provide the port interconnections described above.

The substrate layout 500 is configured so that the parallel ports 102a,b and the serial ports 104 a-d are on the outer perimeter of thesubstrate 200, as shown. In other words, the serial ports 104 a and 104b are on a first side of the substrate layout 500 and the serial ports104 c and 104 d are on a second side of the substrate layout 500. Theparallel port 102 a is on a third side of the substrate layout 500. Andthe parallel port 102 b is on a fourth side of the substrate layout 500.A logic core 502 is at the center of the substrate 500, where the logiccore 502 operates the bus 106 and the serial 104 and parallel 102 dataports. The management interface 412, the packet BERT 406, and theoptional logic blocks 408 a-c are adjacent to the logic core 502 asshown. The bus 106 can be described as a “ring” structure (or donut“structure”) around the logic core 502, and is placed in between thelogic core 502 and the data ports 102 and 104 that occupy the parameterof the substrate layout 500. Furthermore, the ring structure of the bus106 also provides efficient communication between the logic core 502 andthe various data ports 102 and 104. Furthermore, the ring structure ofthe bus 106 also provides efficient communication between the managementinterface 412, the packet BERT 406, the optional logic blocks 408, andthe various data ports 102 and 104.

The bus 106 is illustrated as 8 sections 106 a-106 g for ease ofillustration. Each section provides an interface to the respective dataports 102 or 104 that are adjacent to the respective sections.

FIG. 6 represents one of the 8 sections 106 a-106 g of the bus 106according to embodiments of the present invention. Each section of thebus 106 can be represented as two paths 608 and 610. Data enters the bus106 through a buffer 602 and proceeds to its destination along the path608 and through the buffers 604. Data passes from one section to anothersection of the bus 106 using the path 610 and passing through thebuffers 612. The mux 606 represents data passing from the bus 106 to afunctional block, such as a data port 102, 104 or the packet BERT 406.The actual wires and buffers on the bus 106 are matched to minimizesignal distortion.

In embodiments, the data wires in the bus 106 are deposited on thesubstrate 500 in a particular fashion. Namely, a power or ground isplaced between adjacent (or near by) data wires. Furthermore, adjacentdata wires on the bus 106 are placed on two separate layers. Therefore,a power or ground will be above or below a data wire, and adjacent to adata wire. Therefore, two nearby data wires will not be located directlyadjacent one another, but instead will be positioned diagonal to eachother, thereby reducing cross talk.

The parallel bus 106 is further described in U.S. patent applicationSer. No. 10/695,485, titled “Cross Link Multiplexer Bus”, filed Oct. 29,2003, and incorporated by reference herein in its entirety. Themulti-port SERDES transceiver 400 supports multiple different dataprotocols at the pads including XGMII, TBI, RTBI, HSTL, SSTL, or LVTTLprotocols, and others.

FIG. 7 further illustrates an example layout of the bus 106. The wires702 between data ports 102, 104 are configured to have the same pathlengths so as to minimize signal distortion. In other words, wires 702a-d are deposited so as to have the same path length so as to reducesignal distortion.

The multi-port SERDES transceiver 400 includes the ability to change thetiming of the data ports 102 and 104. This includes the ability tochange the timing between the data and clock signals. In other words,the registers in the data ports 102 and 104 can be re-programmed tooperate at different timing protocols.

The SERDES transceiver 400 is highly flexible and can be configured toprovide multiple different transceivers by enabling and disablingvarious serial and parallel data ports. This is accomplished using aconfiguration logic circuit 418 that controls the registers and timingof the data ports 102 and 104, and also enables/disables these dataports. As a result, several different transceiver products can beconfigured from a single semiconductor die that is manufactured with the4 serial data ports and 2 parallel data ports. For instance, FIG. 1illustrates an embodiment, where all four serial ports 104 and bothparallel ports 102 are enabled and accessible to exchange data. Thetransceiver 400 represents the maximum capability that can be achievedfrom the 4 serial and two parallel data ports. Other specific examplesare discussed below, but the invention is not limited to these examples.

FIG. 8 illustrates a transceiver 800 having 4 serial XGXS data ports104. The two parallel ports 102 have been disabled using configurationlogic 418 and/or by not bonding the parallel ports to the output pins ofthe semiconductor package. The transceiver 800 enables any of theswitches 108 to exchange data with any of the other switches 108.

FIG. 9 illustrates a transceiver 900 having 2 serial XGXS data ports 104a and 104 b and two XGMII parallel data ports 102 a and 102 b. The othertwo serial data ports 104 c and 104 d have been disabled usingconfiguration logic 418 and/or by not bonding the ports to the outputpins of the semiconductor package. The transceiver 900 enables theswitch 108 a to exchange data with the switch 108 b, and allows theparallel XGMII data to be tapped from the parallel bus 106 using theparallel XGMII data ports 102 a 102 b.

In another embodiment of FIG. 9, the timing of the serial and parallelports is varied to provide another transceiver product. For instance,the two XGXS serial ports can be configured as 8 SERDES ports thatoperate at a slower data rate than the XGXS data ports. Likewise, thetwo XGMII parallel data ports can be configured as 8 TBI data ports thatalso operate at a slower data rate. In general, the timing of the dataports can be revised and reconfigured for each of the transceiverconfigurations shown herein.

FIG. 10 illustrates a transceiver 1000 having 2 serial XGXS data ports104 a and 104 b and only one XGMII parallel data port 102 a. The othertwo serial data ports 104 c and 104 d and the parallel port 102 b havebeen disabled using configuration logic 418 and/or by not bonding theports to the output pins of the semiconductor package. The transceiver1000 enables the switch 108 a to exchange data with the switch 108 b,and allows the parallel XGMII data to be tapped from the parallel bus106 using the parallel XGMII data port 102 a.

FIG. 11 illustrates a transceiver 1100 having 2 serial XGXS data ports104 a and 104 c and no XGMII parallel data port 102 a. The other twoserial data ports 104 c and 104 d and the parallel ports 102 have beendisabled using configuration logic 418 and/or by not bonding thedisabled ports to the output pins of the semiconductor package. Thetransceiver 1100 enables the switch 108 a to exchange data with theswitch 108 c.

FIG. 12 illustrates a transceiver 1200 having 3 serial XGXS data ports104 a, 104 b, and 104 d and one XGMII parallel data port 102 a. Theother serial data ports 104 c and the parallel port 102 a have beendisabled using configuration logic 418 and/or by not bonding thedisabled ports to the output pins of the semiconductor package. Thetransceiver 1200 enables the switches 108 a, 108 b, and 108 d toexchange data with each other.

Based on the above discussion, it is apparent that the base transceiver400 is highly flexible and enables multiple transceiver products, withdifferent capabilities and price points, to be configured and sold fromthe base semiconductor die.

Automatic Polarity Swap

FIG. 13 illustrates a communications system 1300 having a first SERDEStransceiver 100 a that communicates data with a second SERDEStransceiver 100 b through an interface 1303, that may be a backplane forexample. The SERDES transceivers 100 a and 100 b can be any type of thetransceivers discussed herein, or any other type of transceiver. TheSERDES transceiver 100 a can be represented as having a differentialinput 1301 p and 1301 n and a differential output 1302 p and 1302 n.Likewise, the SERDES transceiver 100 b can be described as having adifferential input 1304 p and 1304 n, and a differential output 1306 pand 1306 n.

During the configuration of the backplane 1303, the differential output1302 of the transceiver 100 a can be mistakenly cross-connected with thedifferential input 1304 of the SERDES transceiver 100 b. In other words,the 1302 n output of the transceiver 100 a can be mistakenly connectedto the 1304 p input of the transceiver 100 b. Likewise, the 1302 poutput of the transceiver 100 a can be mistaken connected to the 1304 ninput of the transceiver 100 a. The result of such a cross-connection isthat invalid data words are received at the SERDES transceiver 100 b,which causes an increase in the bit error rate (BER).

FIG. 14 illustrates an apparatus and method of automatic polarity swapto address the cross-connection problem discussed with reference to FIG.13. FIG. 14 illustrates a transceiver 1400 having an error check andcorrection module 1401. The error check and correction module 1401includes an error check 1402 and a exclusive OR (X-OR) 1404. The errorcheck and correction module 1401 is coupled to the output of theserial-to-parallel converter 202 and checks the digital output of theserial-to-parallel converter 202 to determine if it is a valid digitalword. If it is not a valid digital word, then the module 1401 performsan automatic polarity flip of the digital word.

The error check and correction module 1401 includes an error check 1402at the output of the parallel-to-serial converter 202 a. The error checkmodule 1402 examines the digital word at the output of theparallel-to-serial converter 1402 and determines if it is a validdigital word within the context of the communications system 1300. Forexample, the error check module 1402 can include a RAM memory thatstores the possible digital word combinations for comparison with thedigital word output of the serial-to-parallel converter 202. If thedigital word output of the serial-to-parallel converter 202 a does notmatch any one of the possible combinations, then the digital word outputof the serial-to-parallel converter is not a valid digital word.Accordingly, one possibility is that the interface 1303 iscross-connected as discussed above. If this is so, then flipping thepolarity of the bits that make up the digital word, will convert theinvalid digital word to a valid digital word. This can be accomplishedusing an exclusive-OR gate 1404. When the error check module 1402detects an invalid digital word, then the error check module 1402 sendsa control bit logic “1” to the exclusive-OR 1404, which causes theexclusive OR to invert the digital output from the serial-to-parallelconverter, and generate a inverted digital word 1405. If the error wasintroduced by the cross-connection, then the inverted digital word 1405will be a valid digital word.

The error check module 1402 outputs a control bit “0” when it determinesthat the digital word at the output of the serial-to-parallel converteris a valid digital word. A control bit “0” does not invert the digitalword, so that the digital word passes unchanged for further processing.

The error check and correction module 1401 can be implemented usingother configurations as will be understood by those skilled in the artsbased on the discussion given herein. For instance, a logic circuitother than an X-OR can be used to flip the polarity of the digital wordif it is invalid.

An advantage of implementing the automatic polarity swap is thatcross-connect errors are rectified quickly and easily, without having tore-wire or re-configure any hardware. Furthermore, the polarity swap canbe implemented on the transmit side or the receive side. However, thereceive implementation is shown in FIG. 14. The transmit implementationwill be apparent based the description related to FIG. 14.

FIG. 15 illustrates a flowchart 1500 that further describes an automaticpolarity swap according to embodiments of the present invention.

In step 1502, a serial differential signal is received. In step 1504,the serial differential signal is converted to a parallel differentialdata word.

In step 1506, the parallel differential data word is examined todetermined if it is a valid data word for the correspondingcommunications system. For instance, the parallel differential data wordcan be compared with valid data words that are stored in a RAM. If theparallel differential data word is valid, then it is passed unmodifiedfor further processing. For example, a valid data word can bere-serialized and transmitted to a destination switch or MAC.

In step 1508, the parallel differential data word is inverted if theparallel differential data word is found to be invalid in step 1506. Forinstance, a logic circuit (such as the X-OR 1404) can be used to invertthe parallel data word is if it is invalid.

In step 1510, the inverted parallel data word can be re-examined todetermine if it is now a valid data word, and if so the invertedparallel data word can be further processed. For example, the invertedparallel data word can be serialized and retransmitted to a destinationswitch, or MAC.

Conclusion

Example embodiments of the methods, systems, and components of thepresent invention have been described herein. As noted elsewhere, theseexample embodiments have been described for illustrative-purposes only,and are not limiting. Other embodiments are possible and are covered bythe invention. Such other embodiments will be apparent to personsskilled in the relevant art(s) based on the teachings contained herein.Thus, the breadth and scope of the present invention should not belimited by any of the above described exemplary embodiments, but shouldbe defined only in accordance with the following claims and theirequivalents.

1. A method for transmitting data, comprising: (A) receiving a firststream of serial data by a first serial port; (B) converting the firststream serial data to a stream of parallel data; (C) routing the streamof parallel data from the first serial port through one or more adjacentserial ports until reaching a second serial port; (D) converting thestream of parallel data to a second stream of serial data at the secondserial port; and (E) transmitting the second stream of serial data fromthe second serial port.
 2. The method of claim 1, wherein step (A)comprises: (A)(i) receiving a first 10 Gigabit Attachment Unit Interface(XAUI) stream of serial data by the first serial port.
 3. The method ofclaim 2., wherein step (B) comprises: (B)(i) converting the first XAUIstream of serial data to 10 Gigabit Media Independent Interface (XGMIII)stream of parallel data.
 4. The method of claim 3, wherein step (D)comprises: (D)(i) converting the XGMIII stream of parallel data to asecond XAUI stream of serial data.
 5. The method of claim 4, whereinstep (E) comprises: (E)(i) transmitting the second XAUI stream of serialdata from the second serial port.
 6. The method of claim 1, wherein step(B) comprises: (B)(i) converting the first stream serial data to thestream of parallel data using a 10 Gigabit Ethernet Extended Sublayer(XGXS) conversion protocol.
 7. The method of claim 1, wherein step (D)comprises: (D)(i) converting the stream of parallel data to the secondstream of serial data at the second serial port using a 10 GigabitEthernet Extended Sublayer (XGXS) conversion protocol.
 8. A method fortransmitting data, comprising: (A) receiving a stream of serial data bya serial port; (B) converting the stream of serial data to a stream ofparallel data; (C) routing the stream of parallel data from the serialport through one or more adjacent ports until reaching a parallel port;and (D) transmitting the stream of parallel data from the parallel port.9. The method of claim 8, wherein step (A) comprises: (A)(i) receiving a10 Gigabit Attachment Unit Interface (XAUI) stream of serial data by theserial port.
 10. The method of claim 9, wherein step (B) comprises:(B)(i) converting the XAUI stream of serial data to 10 Gigabit MediaIndependent Interface (XGMIII) stream of parallel data.
 11. The methodof claim 10, wherein step (D) comprises: (D)(i) transmitting the XGMIIIstream of parallel data from the parallel port.
 12. The method of claim8, wherein step (D) comprises: (D)(i) converting the stream of serialdata to the stream of parallel data using a 10 Gigabit Ethernet ExtendedSublayer (XGXS) conversion protocol.
 13. A method for transmitting data,comprising: (A) receiving a stream of parallel data by a parallel port;(B) routing the stream of parallel data from the parallel port throughone or more adjacent ports until reaching a serial port; (C) convertingthe stream of parallel data to a stream of serial data; and (D)transmitting the stream of serial data from the serial port.
 14. Themethod of claim 13, wherein step (A) comprises: (A)(i) receiving astream of 10 Gigabit Media Independent Interface (XGMIII) stream ofparallel data by the parallel port.
 15. The method of claim 14, whereinstep (C) comprises: (C)(i) converting the XGMIII stream of parallel datato a 10 Gigabit Attachment Unit Interface (XAUI) stream of serial data.16. The method of claim 15, wherein step (D) comprises: (D)(i)transmitting the XAUI stream of serial data from the serial port. 17.The method of claim 13, wherein step (D) comprises: (C)(i) convertingthe stream of parallel data to the stream of serial data using a 10Gigabit Ethernet Extended Sublayer (XGXS) conversion protocol.